1. Field of the Invention
The present invention relates to a method for forming a graphic database on such graphic data as map data and a system utilizing the method.
2. Description of the Related Art
There has been recently realized a map database system in which map data including points, lines and planes are formed into a database to enable a computer to display, retrieve and analyze geographical data.
With such a map database system, upon formation of map data into a database, the map data are made in the form of standard geometric models to realize efficient data processing. For example, the map data are made in the form of individual point models, individual line models, individual plane models, network models, area division models, etc.
The data structures of the individual point model and the individual line model will be briefly explained.
As shown in FIG. 19(a), the individual point model is regarded as an assembly of independent geographical objects and expressed in the form of such a point file F1 having a file format as shown in FIG. 19(b). In the exemplary file shown in FIG. 19(b), X-Y coordinate points (x1, y1) to (x4, y4) are registered for corresponding point numbers P1 to P4.
Meanwhile, with respect to the individual line model, as shown in FIG. 20(a), a geographical object is regarded as an independent line (assembly of elapsed points) and the individual line model is expressed in the form of such a line file F2 having a file format as shown in FIG. 20(b). In the line file example shown in FIG. 20(b), X-Y coordinate start points (x11, y11) to (x14, y14) of line segments of a closed curve having a line number 11 and an X-Y coordinate end point (x15, y15)(which is the same as the start point of the start line segment) of the end line segment of the close curve are registered. Also registered similarly are data on a closed curve having a line number 12 in the line file F2.
As has been explained above, in the point and line files F1 and F2, a fixed length coordinate is put in a fixed length record and its coordinate value are often converted into a JIS code.
For details of such formation of map data into a model, formation of data into a database, utilization of a map database, etc. as mentioned above, refer to the following literatures (1) and (2).
(1) Zenjirou Kawai: "Digital Mapping", Kashima Shuppankai (Apr. 25, 1989), pp. 111-132. PA1 (2) Shinto Horiike: "City Database", Keibun Shuppan K. K. (Dec. 10, 1987), pp. 75-97.
FIG. 21 schematically shows an arrangement of a prior art map database system which includes an external memory 1 for storing therein a line file 2 on map data, a main memory 3 and a central processing unit (which will be referred to as the CPU, hereinafter) 4.
Explanation will next be briefly made as to the file processing of the aforementioned map data file with reference to a flowchart of FIG. 22.
During the file processing of the line file 2 as a map data file, as shown in FIG. 22, the CPU 4, as a pre-processing, opens the line file 2 of the external memory 1 to read out map data (vector data) therefrom. The read-out contents is subjected to a code conversion and then written into the main memory 3 as map data (vector data) 5. Thereafter, a corresponding map (FIG.) 6 is developed on the main memory 3 on the basis of the code-converted map data 5 (step 1).
The CPU 4 then carries out main processing including the registration, reference/updating and deleting of the map data and also repeats this processing operation until the operation of the map data is completed (steps 2 and 3). After completing this main operation, the CPU 4 subjects the map data 5 to a code conversion and then closes the line file 2 as a post-processing (step 4). When the map data 5 is modified, its modification contents are written into the file when carrying out the post-processing.
The map data is formed as a map database through the aforementioned processing and when such a database is formed on a network, a plurality of users connected to the network can share the database.
However, the map database has such a file structure as "the data structure of a standard geometric model", as shown in FIGS. 19(a) and 20(b), and coordinate data are converted into JIS codes/EBSDIC codes to form a file so that, when it is desired to input a file, the contents of the opened file must be subjected to a code conversion and then the map data must be developed on the internal memory to perform the main processing, whereas, when it is desired to output a file, map data in the internal memory must be subjected to a code conversion and then the file must be closed, which results in a large overhead at the time of the file input and output.
Meanwhile, in a distributed processing or multi-user environment of a network, such a problem as file competition by a plurality of users has occurred. The file competition problem will be explained by referring to FIG. 23. In the drawing, "read" indicates that file contents was read out at a predetermined time, "write", "write1" and "write2" indicate that file contents was written at predetermined times respectively.
Assume now that a user A reads a content F of a file at a time point t1 and a user B reads the file content F at a time point t2 in FIG. 23. During a period between the time points t1 and t2, the file content F might be modified by the user A. In this case, however, since the modified content is not subjected to a write procedure, the file content read out by the user B is the same as that before the modification and thus might be different from the file content which the user A is working.
Next, when the user A writes at a time point t3 ("write1"), the file content F is renewed into the modified content which the user A is working (refer to a file content (F-A1) in FIG. 23). In this case, however, the renewed file content (F-A1) might be different from the file content which the user B is working).
Subsequently, when the user B writes at a time point t4 ("write1"), the file content (F-A1) renewed by the writing ("write1") of the user A is lost and instead renewed with the content modified by the working of the user B (refer to a file content (F-B1) in FIG. 23).
Further, when the user A writes at a time point t5 ("write2"), the file content (F-B1) renewed by the writing ("write1") of the user B is lost and instead renewed with the content modified by the working of the user A (refer to a file content (F-A2) in FIG. 23).
As has been explained in the foregoing, since a modification in the contents of a file will not reflect on its actual file content so long as a write working is not conducted, the contents of the user-A working file cannot match with the contents of the user-B working file.
In this way, the prior art map database system has had a difficulty that transfer processing for file input/output is required between the external memory and the main memory and the map data must be subjected to a code conversion in the transfer processing, which results in that an overhead at the time of the file input/output becomes very large.
In addition, when the map data developed on the main memory is modified, this modification will not reflect on the contents of the file so long as a writing procedure is not conducted. Therefore, in a multi-user environment of a network, when a file competition of a plurality of processes takes place, it becomes very difficult to keep a file matching.